package digitalnc.gis.components.support
{
	import mx.collections.ArrayCollection;

	/**
	 * 数据图表渲染 
	 * @author William
	 * 
	 */	
	public class DataChartRenderDefinition extends LayerRenderDefinition
	{
		private var _pointYFields:ArrayCollection = new ArrayCollection();
		private var _chartType:String = "";
		private var _datasource:ArrayCollection = null;
		
		public function DataChartRenderDefinition()
		{
			super();
		}
		
		/**
		 * 已设置的Y轴数据字段的第一项 
		 * @return 
		 * 
		 */		
		override public function get pointYField():String
		{
			return this._pointYFields.getItemAt(0).fieldName;
		}
		/**
		 * 已设置的Y轴数据字段的第一项  
		 * @param value
		 * 
		 */		
		override public function set pointYField(value:String):void
		{
			this._pointYFields.addItemAt(value,0);
		}

		/**
		 * 已设置的所有Y轴数据字段 
		 * @return 
		 * 
		 */		
		public function get pointYFields():ArrayCollection
		{
			return _pointYFields;
		}
		/**
		 * 已设置的所有Y轴数据字段
		 * @param value
		 * 
		 */
		public function set pointYFields(value:ArrayCollection):void
		{
			_pointYFields = value;
		}

		/**
		 * 数据图表类型，目前仅支持柱状图和饼图
		 * @return 
		 * 
		 */		
		public function get chartType():String
		{
			return _chartType;
		}
		/**
		 * 数据图表类型 ，目前仅支持柱状图和饼图
		 * @param value
		 * 
		 */
		public function set chartType(value:String):void
		{
			_chartType = value;
		}
		
		/**
		 * 用于数据图表渲染的数据源。数据源表现为一个集合，集合中的元素为一个数据对象。数据对象的字段可以随意定义，
		 * 但必须具备longitude（经度）和latitude（纬度）以及pointXFiled属性和pointYFields属性设定的字段。
		 * @return 
		 * 
		 */		
		public function get datasource():ArrayCollection
		{
			return _datasource;
		}
		/**
		 * 用于分级渲染的数据源。数据源表现为一个集合，集合中的元素为一个数据对象。数据对象的字段可以随意定义，
		 * 但必须具备longitude（经度）和latitude（纬度）以及pointXFiled属性和pointYFields属性设定的字段。
		 * @param value
		 * 
		 */
		public function set datasource(value:ArrayCollection):void
		{
			_datasource = value;
		}
	}
}